short dsMessage; //message being passed to the addition
WindowPtr dsWindow; //WindowPtr of the window containing the addition
Rect dsLocalRect; //Rect where the addition exists in the window. Use this for drawing
DragReference dsDragReference; //DragReference when dsMessage == kMsgDropOccurred
unsigned long dsNextDrawTime; //System time in ticks when you would like your next draw message. Set this before returning from a kMsgDraw or kMsgDrawHilite message
long dsRefCon; //Refcon for your use.
short dsVersion; //Version of the external API. Set to current kCurrentAdditionInterfaceVersion
short dsItemId; //Resource id for this items resources in the strip file
short dsItemFileResId; //Resource ref num for the strips resource fork.
Rect dsIconRect; //Preferred Rect in which to draw an icon (based on current icon style)
Rect dsTextRect; //Preferred Rect in which to draw text (based on current icon style)
}DSAdditionParamBlock, *DSAdditionParamBlockPtr;
#define kCurrentAdditionInterfaceVersion 3
#define kDSAdditionFileType 'DSt+'
#define kDSAdditionDrawFileType 'DStd'
#define kDSAdditionResType 'DSad'
typedef pascal long (*DSAdditionProcPtr)(DSAdditionParamBlockPtr params);